/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/


/*************************************************************************
 *\author: starlove
 *************************************************************************/
#ifndef __CC_PYTHON_IMPORT_O_TEXTURE2D__
#define __CC_PYTHON_IMPORT_O_TEXTURE2D__

#include <cocos2d.h>
#include "python_object_nodeobjects.h"

NS_CCPY_BEGIN
	class CPyTexture2D : public CPyCCObject
	{
	PYCLASS_DEF_INTERFACE(CPyTexture2D)
	public:
		PYCLASS_METHOD_DEF(CPyTexture2D, releaseData);
		PYCLASS_METHOD_DEF(CPyTexture2D, keepData);
		PYCLASS_METHOD_DEF(CPyTexture2D, initWithData);
		PYCLASS_METHOD_DEF(CPyTexture2D, drawAtPoint);
		PYCLASS_METHOD_DEF(CPyTexture2D, drawInRect);
		PYCLASS_METHOD_DEF(CPyTexture2D, initWithImage);
		PYCLASS_METHOD_KW_DEF(CPyTexture2D, initWithString);    
		PYCLASS_METHOD_DEF(CPyTexture2D, initWithPVRFile);
		PYCLASS_METHOD_DEF(CPyTexture2D, setTexParameters);
		PYCLASS_METHOD_DEF(CPyTexture2D, setAntiAliasTexParameters);
		PYCLASS_METHOD_DEF(CPyTexture2D, setAliasTexParameters);
		PYCLASS_METHOD_DEF(CPyTexture2D, generateMipmap);
		PYCLASS_METHOD_DEF(CPyTexture2D, stringForFormat);
		PYCLASS_METHOD_KW_DEF(CPyTexture2D, bitsPerPixelForFormat);
		//PYCLASS_METHOD_DEF(CPyTexture2D, bitsPerPixelForFormat);
		PYCLASS_METHOD_DEF(CPyTexture2D, getContentSizeInPixels);
		PYCLASS_GET_DEF(CPyTexture2D, hasPremultipliedAlpha);
		PYCLASS_GET_DEF(CPyTexture2D, hasMipmaps);
		//static
		PYCLASS_METHOD_DEF(CPyTexture2D, setDefaultAlphaPixelFormat);
		PYCLASS_METHOD_DEF(CPyTexture2D, defaultAlphaPixelFormat);
		PYCLASS_METHOD_DEF(CPyTexture2D, PVRImagesHavePremultipliedAlpha);

		void setRaw(){ setCCObject(&m_raw); }
	private:
		cocos2d::CCTexture2D m_raw;
	};
NS_CCPY_END

#endif